package com.ruoyi.system.service;

import com.ruoyi.system.domain.AttendanceType;

import java.util.List;

/**
 * 考勤类别Service接口
 *
 * @author dp
 * @date 2023-11-27
 */
public interface IAttendanceTypeService {
    /**
     * 查询考勤类别
     *
     * @param attendanceTypeId 考勤类别主键
     * @return 考勤类别
     */
    public AttendanceType selectAttendanceTypeByAttendanceTypeId(Long attendanceTypeId);

    /**
     * 查询考勤类别列表
     *
     * @param attendanceType 考勤类别
     * @return 考勤类别集合
     */
    public List<AttendanceType> selectAttendanceTypeList(AttendanceType attendanceType);

    /**
     * 新增考勤类别
     *
     * @param attendanceType 考勤类别
     * @return 结果
     */
    public int insertAttendanceType(AttendanceType attendanceType);

    /**
     * 修改考勤类别
     *
     * @param attendanceType 考勤类别
     * @return 结果
     */
    public int updateAttendanceType(AttendanceType attendanceType);

    /**
     * 批量删除考勤类别
     *
     * @param attendanceTypeIds 需要删除的考勤类别主键集合
     * @return 结果
     */
    public int deleteAttendanceTypeByAttendanceTypeIds(Long[] attendanceTypeIds);

    /**
     * 删除考勤类别信息
     *
     * @param attendanceTypeId 考勤类别主键
     * @return 结果
     */
    public int deleteAttendanceTypeByAttendanceTypeId(Long attendanceTypeId);

    /**
     * 实体数据补全
     *
     * @param attendanceType 实体
     * @param userId         用户id
     * @param crateType      创建类型 1：新增 2：修改
     */
    public void completeData(AttendanceType attendanceType, Long userId, Integer crateType);

}
